///#begin en
//
//  Copyright (c) 2016 MyCamCloud. All rights reserved.
//
///#end

#import "HKSDeviceClient.h"

///#begin zh-cn
/**
 *  @class      HKSDeviceClient (ControlMedia)
 *  @brief      设备视频数据相关控制接口
 */
///#end
///#begin en
///#end
@interface HKSDeviceClient (ControlMedia)

///#begin zh-cn
/**
 *  @brief       控制媒体流（暂停或继续），暂停后，服务器将不再发送媒体数据给客户端
 *
 *  @param[in]   ctrlOrder[int]控制命令，0：暂停，1：继续
 *  @param[in]   mediaType[int]媒体类型，0：视频，1：音频
 *  @return      [int]返回0表示成功，其它为失败
 *  @since       v1.0.0.0
 */
///#end
///#begin en
///#end
- (int)controlMediaStream:(int)ctrlOrder mediaType:(int)mediaType;


///#begin zh-cn
/**
 *  @brief       控制播放（只适合录像文件回放）
 *
 *  @param[in]   cmd[int] 控制码，请参考HKS_NPC_D_MON_PLAY_CTRL_*
 *  @param[in]   data[int] 控制参数，根据控制码确定值含义
 *  @return      [int]调用接口是否成功，参见HKS_NPC_D_MPI_MON_ERROR_*定义
 *  @since       v1.0.0.0
 */
///#end
///#begin en
///#end
- (int)controlRecord:(int)in_iCtrlCode
                data:(int)in_iData;

///#begin zh-cn
/**
 *  @brief       请求只发I帧或恢复发送全帧，恢复发送全帧后，会从I帧开始发送，该函数不具有强制I帧功能
 *
 *  @param[in]   in_iCtrlCode[int] 控制码，0：只发I帧，1：恢复发送全帧
 *  @return      [int]调用接口是否成功，参见HKS_NPC_D_MPI_MON_ERROR_*定义
 *  @since       v1.0.0.0
 */
///#end
///#begin en
///#end
- (int)controlCameraOnlyIFrame:(int)in_iCtrlCode;


/**
 *  @brief       切换通道\码流
 *
 *  @param[in]   in_iSwitchChNo[int] 切换后的通道号,如果只切换码流，通道号填写当前通道号
 *  @param[in]   in_iSwitchStreamNo[int] 切换后的码流号，0：主码流，1：子码流，-1表示码流号不变
 *  @return[int]调用接口是否成功，参见HKS_NPC_D_MPI_MON_ERROR_*定义
 **/
- (int)controlCameraSwitchChNoStreamNo:(int)in_iSwitchChNo
                                stream:(int)in_iSwitchStreamNo;


/**
 *  @brief       查询当前通道号和码流号
 *
 *  @param[out]  out_pCurChNo[int] 输出当前通道号,从0开始
 *  @param[out]  out_pCurStreamNo[int] 输出当前码流号，0：主码流，1：子码流
 *  @return[int]调用接口是否成功，参见HKS_NPC_D_MPI_MON_ERROR_*定义
 **/
- (int)getCameraChannelStreamNo:(int *)out_pCurChNo
                         stream:(int *)out_pCurStreamNo;


@end
